package bastanteo.cloud.bean;

// Generated 08/11/2011 11:03:59 PM by Hibernate Tools 3.3.0.GA

import java.util.Date;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Bastanteo generated by hbm2java
 */
@Entity
@Table(name = "bastanteo", catalog = "bd_bastanteo")
public class Bastanteo implements java.io.Serializable {

	private BastanteoId id;
	private Poder poder;
	private GrupoBastanteo grupoBastanteo;
	private TipoIntervencion tipoIntervencion;
	private long importeMin;
	private long importeMax;
	private Date fechaIni;
	private Date fechaFin;
	//private DBastanteoGrupo DBastanteoGrupo;

	public Bastanteo() {
	}

	public Bastanteo(BastanteoId id, Poder poder,
			GrupoBastanteo grupoBastanteo, TipoIntervencion tipoIntervencion,
			long importeMin, long importeMax, Date fechaIni, Date fechaFin) {
		this.id = id;
		this.poder = poder;
		this.grupoBastanteo = grupoBastanteo;
		this.tipoIntervencion = tipoIntervencion;
		this.importeMin = importeMin;
		this.importeMax = importeMax;
		this.fechaIni = fechaIni;
		this.fechaFin = fechaFin;
	}
/*
	public Bastanteo(BastanteoId id, Poder poder,
			GrupoBastanteo grupoBastanteo, TipoIntervencion tipoIntervencion,
			long importeMin, long importeMax, Date fechaIni, Date fechaFin,
			DBastanteoGrupo DBastanteoGrupo) {
		this.id = id;
		this.poder = poder;
		this.grupoBastanteo = grupoBastanteo;
		this.tipoIntervencion = tipoIntervencion;
		this.importeMin = importeMin;
		this.importeMax = importeMax;
		this.fechaIni = fechaIni;
		this.fechaFin = fechaFin;
		this.DBastanteoGrupo = DBastanteoGrupo;
	}
*/
	@EmbeddedId
	@AttributeOverrides( {
			@AttributeOverride(name = "CEmpresa", column = @Column(name = "C_EMPRESA", nullable = false, length = 8)),
			@AttributeOverride(name = "CGrupoBastanteo", column = @Column(name = "C_GRUPO_BASTANTEO", nullable = false)),
			@AttributeOverride(name = "CPoder", column = @Column(name = "C_PODER", nullable = false, length = 4)) })
	public BastanteoId getId() {
		return this.id;
	}

	public void setId(BastanteoId id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_PODER", nullable = false, insertable = false, updatable = false)
	public Poder getPoder() {
		return this.poder;
	}

	public void setPoder(Poder poder) {
		this.poder = poder;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumns( {
			@JoinColumn(name = "C_EMPRESA", referencedColumnName = "C_EMPRESA", nullable = false, insertable = false, updatable = false),
			@JoinColumn(name = "C_GRUPO_BASTANTEO", referencedColumnName = "C_GRUPO_BASTANTEO", nullable = false, insertable = false, updatable = false) })
	public GrupoBastanteo getGrupoBastanteo() {
		return this.grupoBastanteo;
	}

	public void setGrupoBastanteo(GrupoBastanteo grupoBastanteo) {
		this.grupoBastanteo = grupoBastanteo;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_TIPO_INTERVENCION", nullable = false)
	public TipoIntervencion getTipoIntervencion() {
		return this.tipoIntervencion;
	}

	public void setTipoIntervencion(TipoIntervencion tipoIntervencion) {
		this.tipoIntervencion = tipoIntervencion;
	}

	@Column(name = "IMPORTE_MIN", nullable = false, precision = 10, scale = 0)
	public long getImporteMin() {
		return this.importeMin;
	}

	public void setImporteMin(long importeMin) {
		this.importeMin = importeMin;
	}

	@Column(name = "IMPORTE_MAX", nullable = false, precision = 10, scale = 0)
	public long getImporteMax() {
		return this.importeMax;
	}

	public void setImporteMax(long importeMax) {
		this.importeMax = importeMax;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FECHA_INI", nullable = false, length = 19)
	public Date getFechaIni() {
		return this.fechaIni;
	}

	public void setFechaIni(Date fechaIni) {
		this.fechaIni = fechaIni;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FECHA_FIN", nullable = false, length = 19)
	public Date getFechaFin() {
		return this.fechaFin;
	}

	public void setFechaFin(Date fechaFin) {
		this.fechaFin = fechaFin;
	}
/*
	@OneToOne(fetch = FetchType.LAZY, mappedBy = "bastanteo")
	public DBastanteoGrupo getDBastanteoGrupo() {
		return this.DBastanteoGrupo;
	}

	public void setDBastanteoGrupo(DBastanteoGrupo DBastanteoGrupo) {
		this.DBastanteoGrupo = DBastanteoGrupo;
	}
*/
}
